Dialog or conversation systems typically involve multiple processing/analysis stages running in sequence to process user input as part of inferring a user goal. For example, a dialog system may use a processing stage that uses an Automatic Speech Recognizer (ASR) to convert audible user commands into text before using a subsequent Language Understanding (LU) processing stage to convert the text into a semantic representation. The multiple processing stages of each dialog system typically include non-zero error rates and one of the main limitations lies in the uncertainty of the state of a conversation at any point in time due in part to the lack of robustness of the various processing stages. Developers of dialog systems continually experiment in attempts to reduce or eliminate the amount of uncertainty and improve the accuracy of the state of the conversation.